package com.xxl.job.core.biz;

import com.xxl.job.core.biz.model.*;

import java.util.List;

/**
 * Created by xuxueli on 17/3/1.
 */
public interface ExecutorBiz {

    /**
     * beat
     * @return
     */
    public ReturnT<String> beat(String cookie);

    /**
     * idle beat
     *
     * @param idleBeatParam
     * @return
     */
    public ReturnT<String> idleBeat(IdleBeatParam idleBeatParam, String cookie);

    /**
     * run
     * @param triggerParam
     * @param cookie
     * @return
     */
    public ReturnT<String> run(TriggerParam triggerParam, String cookie);

    /**
     * kill
     * @param killParam
     * @param cookie
     * @return
     */
    public ReturnT<String> kill(KillParam killParam, String cookie);

    /**
     * log
     * @param logParam
     * @param cookie
     * @return
     */
    public ReturnT<LogResult> log(LogParam logParam, String cookie);


    /**
     * run
     * @param triggerParam
     * @param cookie
     * @return
     */
    public ReturnT<String> runPool(TriggerParam triggerParam, String cookie);


    /**
     * run
     * @param triggerParamList
     * @param cookie
     * @return
     */
    public ReturnT<String> runBatch(List<TriggerParam> triggerParamList, String cookie);
}
